/**
 * @author 20111009 by meng.xf
 * @class FindTestNumberPanel
 * @extends Ext.grid.GridPanel
 * @description 测试号码筛选
 */
FindTestNumberPanel = Ext.extend(Ext.grid.GridPanel, {

			myid : "my_id",
			addWin : null, // 参数,是AddOperlogWindow的引用
			editWin : null, // 参数,是EditOperlogWindow的引用

			/**
			 * 构造方法
			 */
			constructor : function(_cfg) {

				if (_cfg == null) {
					_cfg = {};
				}
				
				Ext.apply(this, _cfg);

				// 数据存贮器
				this["store"] = new Ext.data.JsonStore({
							url : "report.do?operator=showTestNumberByPage",
							totalProperty : 'totalCount',
							root : 'rows',
							fields : [ "userId", "phone", "totals"]
						});

				/**
				 * 拷贝父类的构造方法
				 */
				FindTestNumberPanel.superclass.constructor.call(this, {
							id : this.myid,
//							title:"测试号码筛选",
							title:Ext.getCmp('MainTab').getActiveTab().title,
							border:false,
							stripeRows:true, //交替行效果
							iconCls:"houfei-treeNodeLeafIcon",
							viewConfig : {
								autoFill : true, //自动填充
								forceFit : true
							},
							colModel : new Ext.grid.ColumnModel([
									// 复选框列
									new Ext.grid.CheckboxSelectionModel({
												// 头
												header : ""
											}),{
										header : '用户',// 表头
										sortable: false,  //允许排序
										dataIndex : "userId"
									}, {
										header : '手机号',// 表头
										sortable: false,  //允许排序
										dataIndex : "phone"
									}, {
										header : '发送数',// 表头
										sortable: false,  //允许排序
										dataIndex : "totals"
									}]),
							loadMask : {
								msg : "正在加载数据,请稍后..."
							},
							// 行选择模式
							selModel : new Ext.grid.RowSelectionModel({
										// 单行选择模式,为false时按住shift可以选择多行
										singleSelect : true
									}),
							tbar : ["用户ID：", {
									xtype : "textfield"
								}, "-" ,{
									text : "查询",
									iconCls : "houfei-searchIcon",
									handler : this.onSearchOperlog,
									scope : this
								}, "-", {
									text : "清空查询条件",
									iconCls : "houfei-closeCurrentTab",
									handler : this.onClearCondition,
									scope : this
								},  "-", {
									text : "加入白名单",
									iconCls : "houfei-addicon",
									handler : this.onAddToWhitelist,
									scope : this
								}, "-", {
									text : "刷新",
									iconCls : "houfei-refreshIcon",
									handler : this.onRefresh, // 刷新事件
									tooltip : "刷新测试号码信息",
									scope : this
							}],
							bbar : new Ext.PagingToolbar({
								store : this["store"], // 数据存储器
								pageSize : 17, // 页大小
								displayMsg:"共<font color=\"green\"> {2} </font>条记录,当前页记录索引<font color=\"green\"> {0} - {1}</font>&nbsp;&nbsp;&nbsp;",
								displayInfo:true
								})
						});
				// 数据加载
				this.getStore().load({
							params : { // 参数
								start : 0, // 索引
								limit : 17
								// 页大小
							}
						});
			},

			/**
			 * 表格数据刷新
			 */
			onRefresh : function() {
				this.getStore().reload();
			},
			/**
			 * 清空查询条件按钮单击事件
			 */
			onClearCondition : function() {
				// 获取top工具条
				var _tbar = this.getTopToolbar();
				// 获取text框的值
				var _userId = _tbar.items.get(1).setValue("");
			},

			onSearchOperlog : function() {
				// 获取top工具条
				var _tbar = this.getTopToolbar();
				// 获取text框的值
				var _userId = _tbar.items.get(1).getValue().trim();
				if(_userId==""){
					alert("用户ID不能为空!");
					return;
				}
				/**
				 * 给当前表格的数据源添加请求参数
				 */
				this.getStore().baseParams = {
					userId : _userId
				};
				/**
				 * 重新加载数据
				 */
				this.getStore().load({
							params : {
								start : 0,
								limit : 17
							}
						});
			},
			
			/**
			 * 加入白名单
			 */
			onAddToWhitelist : function() {
				var _sm = this.getSelectionModel();
				// 当用户选择了一条记录的时候将编辑窗口显示出来
				if (_sm.getCount() > 0) {
					Ext.Msg.confirm("系统消息", "确定要将选中记录加入白名单吗?",
							this.onSubmitConfrimBtnClick, this);
				} else {
					Ext.Msg.show({
								title : "系统提示",
								msg : "至少选择一条记录",
								buttons : Ext.Msg.OK,
								icon : Ext.Msg.INFO
							});
				}
			},
			onSubmitConfrimBtnClick : function(_btn) {
				if (_btn == "yes") {
					// 获取当前表格的选择模式
					var _sm = this.getSelectionModel();
					// 获取当前表格主键id
					var _userId = _sm.getSelected().get("userId");
					var _phone = _sm.getSelected().get("phone");
					// 进行异步Ajax请求
					Ext.Ajax.request({
								url : "report.do",
								method : "post",
								success : this.onSubmitSuccess,
								failure : this.onSubmitFailure,
								scope : this,
								params : {
									operator : "addToWhitelist",
									userId : _userId,
									phone : _phone
								}
							});
				}
			},
			/**
			 * 请求成功的回调方法
			 * 
			 * @param {}
			 *            _form
			 * @param {}
			 *            _action
			 */
			onSubmitSuccess : function(resp, option) {
				var respText = Ext.util.JSON.decode(resp.responseText); 
				if(respText.success == true){
//					Ext.Msg.alert("系统消息","删除成功!");
					/**
					 * _urgp 是 smsfactory.whitelist.white_list.jsp
					 * 中WhiteListPanel类的实例
					 */
					_urgp.getStore().reload();
				}else{
					Ext.Msg.alert("系统消息",respText.errorMsg);
					_urgp.getStore().reload();
				}
			},
			/**
			 * 请求失败的回调方法
			 * 
			 * @param {}
			 *            _form
			 * @param {}
			 *            _action
			 */
			onSubmitFailure : function(resp, option) {
				var respText = Ext.util.JSON.decode(resp.responseText); 
				Ext.Msg.alert("系统消息",respText.errorMsg);
			}

		});